; Routine per la stampa da monitor esadecimale ; ; Ci sono due routines: ; - Allocata a 0070 per il monitor allocato a 8000 ; - Allocata a 0170 per il monitor rilocato a F000 ; ; Thursday, 29 of June 2006 at 08:05 PM ; .org 0070h l0070: call 8067h l0073: call 80ech ld a,47h out (0f7h),a l007a: call 80aah cp 10h jr z,l008a cp 11h jr z,l0090 call 800ch jr l0073 l008a: call 8055h ex de,hl jr l0070 l0090: call 8055h l0093: ld a,h call l00d8 ld a,l call l00d8 ld a,20h call l00c1 call l00c1 ld a,(hl) call l00d8 ld a,0dh call l00c1 ld a,h cp d jr nz,l00b4 ld a,l cp e jr z,l0070 l00b4: inc hl jr l0093 l00b7: sub 0ah jr nc,l00bf add a,3ah jr l00c1 l00bf: add a,41h l00c1: push af l00c2: in a,(03h) bit 0,a jr nz,l00c2 pop af push af set 7,a out (03h),a res 7,a out (03h),a set 7,a out (03h),a pop af ret l00d8: push af and 0f0h rrca rrca rrca rrca call l00b7 pop af push af and 0fh call l00b7 pop af ret .org 0170h l0170: call 0F067h l0173: call 0F0ech ld a,47h out (0f7h),a l017a: call 0F0aah cp 10h jr z,l018a cp 11h jr z,l0190 call 0F00ch jr l0173 l018a: call 0F055h ex de,hl jr l0170 l0190: call 0F055h l0193: ld a,h call l01d8 ld a,l call l01d8 ld a,20h call l01c1 call l01c1 ld a,(hl) call l01d8 ld a,0dh call l01c1 ld a,h cp d jr nz,l01b4 ld a,l cp e jr z,l0170 l01b4: inc hl jr l0193 l01b7: sub 0ah jr nc,l01bf add a,3ah jr l01c1 l01bf: add a,41h l01c1: push af l01c2: in a,(03h) bit 0,a jr nz,l01c2 pop af push af set 7,a out (03h),a res 7,a out (03h),a set 7,a out (03h),a pop af ret l01d8: push af and 0f0h rrca rrca rrca rrca call l01b7 pop af push af and 0fh call l01b7 pop af ret .org 0470h .end